Long term evolution (lte) mobile anchoring

ABSTRACT

A device receives roaming information associated with a user equipment (UE), a current eNodeB conducting a current Internet protocol (IP) session with the UE, and a plurality of eNodeBs that are neighboring the current eNodeB. The device also selects, based on the roaming information and from the plurality of eNodeBs, an optimal eNodeB to which to handover the UE, and establishes a preemptive IP session with the optimal eNodeB. The device further initiates a handover of the current IP session and the UE from the current eNodeB to the optimal eNodeB, where the current eNodeB acts as an anchoring point for a bearer path associated with the UE during the handover.

BACKGROUND

Current Long Term Evolution (LTE)-based networks include a variety ofdevices, such as eNodeBs (eNBs), mobility management entities (MMEs),packet gateways (PGWs), and serving gateways (SGW). Current ThirdGeneration Partnership Project (3GPP) and LTE standards require the PGWto function or serve as an anchoring point for any user equipment (UEs).However, the PGW anchoring function is static and cannot be combinedwith the functionality of the SGW, the MMEs, and/or the eNBs.Furthermore, anchoring UEs (e.g., anchoring bearer paths associated withUEs) at a particular PGW increases transport cost and resourceutilization at the particular PGW. This causes network transport and PGWresources to be inefficient at handling large traffic loads exchangedbetween at least two eNBs when a UE is roaming and the UE's bearer pathis localized to the nearest eNB.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram of an exemplary network in which systems and/ormethods described herein may be implemented;

FIG. 2 is a diagram of exemplary components of an eNB of the networkdepicted in FIG. 1;

FIG. 3 is a diagram of exemplary components of a dynamic Internetprotocol (IP) provider of the network depicted in FIG. 1;

FIG. 4 is a diagram of exemplary interactions among components of anexemplary portion of the network depicted in FIG. 1;

FIGS. 5A and 5B are diagrams of exemplary interactions among componentsof another exemplary portion of the network depicted in FIG. 1;

FIG. 6 is a diagram of exemplary functional components of the dynamic IPprovider depicted in FIG. 1;

FIG. 7 is a diagram of exemplary interactions among components of stillanother exemplary portion of the network depicted in FIG. 1; and

FIGS. 8-10 are flow charts of an exemplary process for permitting a UEto roam from a particular eNB to another eNB by keeping the UE's bearerpath anchored to the particular eNB and by preserving the UE's IPsession and address according to implementations described herein.

DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS

The following detailed description refers to the accompanying drawings.The same reference numbers in different drawings may identify the sameor similar elements. Also, the following detailed description does notlimit the invention.

Implementations described herein may provide systems and/or methods thatmay permit a UE to roam from a particular eNB to at least another eNB byanchoring the UE's bearer path to the particular eNB and by preservingthe UE's IP session and IP address. The systems and/or methods mayenable the anchoring eNB to inherit the anchoring functionality andintelligence of a PGW so that the anchoring eNB may act as a localizedanchor point to the UE. The systems and/or methods may permit theanchoring eNB to handle a roaming UE and to seamlessly reassign the sameIP address to the UE without losing the UE's bearer path or an originalconfiguration of the UE's IP session setup. The systems and/or methodsmay enable eNBs to keep track of IP sessions, IP addresses, and/orcorresponding roaming information associated with UEs. The systemsand/or methods may also provide a dynamic IP provider that may manage alist of assigned IP addresses for the eNBs. The dynamic IP provider maymaintain a current state of the assigned IP addresses, via eNBs attachedto the dynamic IP provider. The dynamic IP provider may maintain a poolof IP addresses that may be used when a roaming UE performs a handoverfrom one eNB to another eNB. The dynamic IP provider may signal, to itsattached eNBs, corresponding IP addresses of UEs that are roamingbetween the attached eNBs.

In one exemplary implementation, the dynamic IP provider may receiveinformation associated with a current IP session and roaming informationassociated with a UE, a current eNB (e.g., conducting the current IPsession with the UE), and neighbor eNBs (e.g., neighboring the currenteNB). The dynamic IP provider may select, based on the receivedinformation and from the neighbor eNBs, an optimal eNB to which tohandover the UE, and may setup a preemptive IP session with the optimaleNB. Furthermore, the dynamic IP provider may select, based on thereceived information and from the neighbor eNBs, an alternate eNB (e.g.,in case the optimal eNB is unavailable) to which to handover the UE, andmay setup an alternate IP session with the alternate eNB. The dynamic IPprovider may instruct a handover of the current IP session and the UEfrom the current eNB to the optimal eNB, and may obtain an IP sessionacknowledgement and connectivity status information from the optimaleNB. The dynamic IP provider may remove the current IP session from anactive IP session pool (e.g., a pool of IP addresses that may be usedwhen a roaming UE performs a handover from one eNB to another eNB), andmay record information associated with the optimal eNB.

As used herein, the term “user” is intended to be broadly interpreted toinclude user equipment (UE) or a user of user equipment.

FIG. 1 is a diagram of an exemplary network 100 in which systems and/ormethods described herein may be implemented. As illustrated, network 100may include a user equipment (UE) 110, a group of eNodeBs (eNBs) 120-1through 120-N (referred to collectively as “eNBs 120” and in someinstances, individually as “eNB 120”), and a dynamic IP provider 130.Components of network 100 may interconnect via wired and/or wirelessconnections. A single UE 110, three eNBs 120, and a single dynamic IPprovider 130 have been illustrated in FIG. 1 for simplicity. Inpractice, there may be more UEs 110, eNBs 120, and/or dynamic IPproviders 130. Also, in some instances, one or more of the components ofnetwork 100 may perform one or more functions described as beingperformed by another one or more of the components of network 100. Inone exemplary implementation, network 100 may correspond to a portion ofa LTE-based network.

UE 110 may include a radiotelephone, a personal communications system(PCS) terminal (e.g., that may combine a cellular radiotelephone withdata processing and data communications capabilities), a wirelesstelephone, a cellular telephone, a smart phone, a PDA (e.g., that caninclude a radiotelephone, a pager, Internet/intranet access, etc.), alaptop computer (e.g., with a broadband air card), or other types ofmobile communication devices. In an exemplary implementation, UE 110 mayinclude one or more computation and/or communication devices capable ofsending/receiving voice and/or data to/from eNBs 120.

eNB 120 may include one or more computation and/or communication devicesthat receive voice and/or data (e.g., from an MME and/or a SGW) andtransmit that voice and/or data to UE 110 via an air interface. eNB 120may also include one or more devices that receive voice and/or data fromUE 110 over an air interface and transmit that voice and/or data toother UEs (e.g., or to an MME and/or a SGW).

Dynamic IP provider 130 may include one or more computation and/orcommunication devices that manage a list of assigned IP addresses foreNBs 120, and maintain a current state of the assigned IP addresses viaeNBs 120. Dynamic IP provider 130 may maintain a pool of IP addressesthat may be used when a roaming UE 110 performs a handover from one eNB120 to another eNB 120. Dynamic IP provider 130 may signal, to eNBs 120,corresponding IP addresses of UEs that are roaming between eNBs 120.

As further shown in FIG. 1, UE 110 may initially be communicating witheNB 120-1 and may have established a current IP session 140 with eNB120-1. Current IP session 140 may include an IP session currentlyestablished with eNB 120-1 via an original IP address associated with UE110. UE 110 may roam from eNB 120-1 to another eNB (e.g., eNB 120-2).For example, UE 110 may physically move from a location that is closestto eNB 120-1 to a location that is closest to eNB 120-2. After moving,UE 110 may best be served by eNB 120-2 (e.g., since it is the closesteNB 120 to UE 110) rather than by eNB 120-1.

In one exemplary implementation, dynamic IP provider 130 may receiveinformation associated with current IP session 140 and roaminginformation associated with UE 110, a current eNB 120 (e.g., eNB 120-1),and neighbor eNBs 120 (e.g., eNBs 120-2 through 120-N). Dynamic IPprovider 130 may select, based on the received information and from theneighbor eNBs 120, an optimal eNB 120 (e.g., eNB 120-2) to which tohandover UE 110, and may setup a preemptive IP session with the optimaleNB 120-2. For example, dynamic IP provider 130 may cause a handoverpath 150 of current IP session 140 to be established between eNB 120-1and 120-2, and may cause eNB 120-1 to initiate a pre-setup 160 (e.g.,with UE 110) of a handover of current IP session 140 and UE 110.Handover path 150 may permit eNBs 120-1 and 120-2 to communicateinformation (e.g., information associated with current IP session 140,roaming information associated with UE 110, etc.) with each other.Pre-setup 160 may permit UE 110 and eNB 120-1 to communicate information(e.g., information associated with eNB 120-2, etc.) that may enable UE110 to handover current IP session 140 to eNB 120-2. In an exemplaryimplementation, a bearer path associated with UE 110 may remain anchoredto eNB 120-1 during the handover to eNB 120-2.

Alternatively or additionally, dynamic IP provider 130 may select, basedon the received information (e.g. information associated with current IPsession 140 and roaming information associated with UE 110, eNB 120-1,and neighbor eNBs 120-2 through 120-N) and from neighbor eNBs 120, analternate eNB (e.g., eNB 120-N, in case eNB 120-2 is unavailable) towhich to handover UE 110. Dynamic IP provider may setup an alternate IPsession with the alternate eNB 120-N. Dynamic IP provider 130 mayinstruct a handover of current IP session 140 and UE 110 from eNB 120-1to the optimal eNB 120-2, and a new IP session 170 may be establishedbetween UE 110 and eNB 120-2. New IP session 170 may preserve current IPsession 140 and the original IP address associated with UE 110. DynamicIP provider 130 may obtain an IP session (e.g., new IP session 170)acknowledgement and connectivity status information from the optimal eNB120-2. Dynamic IP provider 130 may remove current IP session 140 from anactive IP session pool, and may record information associated with theoptimal eNB 120-2.

Although FIG. 1 shows exemplary components of network 100, in otherimplementations, network 100 may contain fewer, different, differentlyarranged, or additional components than depicted in FIG. 1. In oneexemplary implementation, network 100 may include one or more MMEs,PGWs, SGWs, etc.

FIG. 2 is a diagram of exemplary components of eNB 120. As shown in FIG.2, eNB 120 may include antennas 210, transceivers (TX/RX) 220, aprocessing system 230, and an X2 interface (I/F) 240.

Antennas 210 may include one or more directional and/or omni-directionalantennas. Transceivers 220 may be associated with antennas 210 and mayinclude transceiver circuitry for transmitting and/or receiving symbolsequences in a network, such as network 100, via antennas 210.

Processing system 230 may control the operation of eNB 120. Processingsystem 230 may also process information received via transceivers 220and/or X2 interface 240. As illustrated in FIG. 2, processing system 230may include a processing unit 232 and a memory 234. Processing unit 232may include one or more processors, microprocessors, applicationspecific integrated circuits (ASICs), field programmable gate arrays(FPGAs), or the like. Processing unit 232 may process informationreceived via transceivers 220 and/or X2 interface 240. In addition,processing unit 232 may transmit control messages and/or data messages,and may cause those control messages and/or data messages to betransmitted via transceivers 220 and/or X2 interface 240. Processingunit 232 may also process control messages and/or data messages receivedfrom transceivers 220 and/or X2 interface 240. Memory 234 may include arandom access memory (RAM), a read-only memory (ROM), and/or anothertype of memory to store data and instructions that may be used byprocessing unit 232.

X2 interface 240 may include one or more line cards that allow eNB 120to transmit data to and receive data from another eNB 120 or dynamic IPprovider 130. In one example, X2 interface 240 may enable eNBs 120 toexchange information related to performing a handover operation.

As described herein, eNB 120 may perform certain operations in responseto processing unit 232 executing software instructions contained in acomputer-readable medium, such as memory 234. A computer-readable mediummay be defined as a physical or logical memory device. A logical memorydevice may include memory space within a single physical memory deviceor spread across multiple physical memory devices. The softwareinstructions may be read into memory 234 from another computer-readablemedium or from another device via antennas 210 and transceivers 220. Thesoftware instructions contained in memory 234 may cause processing unit232 to perform processes described herein. Alternatively, hardwiredcircuitry may be used in place of or in combination with softwareinstructions to implement processes described herein. Thus,implementations described herein are not limited to any specificcombination of hardware circuitry and software.

Although FIG. 2 shows exemplary components of eNB 120, in otherimplementations, eNB 120 may contain fewer, different, differentlyarranged, or additional components than depicted in FIG. 2.Alternatively or additionally, one or more components of eNB 120 mayperform one or more other tasks described as being performed by one ormore other components of eNB 120.

FIG. 3 depicts a diagram of exemplary components of a device 300 thatmay correspond to dynamic IP provider 130. As illustrated, device 300may include a bus 310, a processing unit 320, a main memory 330, a ROM340, a storage device 350, an input device 360, an output device 370,and/or a communication interface 380. Bus 310 may include a path thatpermits communication among the components of device 300.

Processing unit 320 may include one or more processors, microprocessors,ASICs, FPGAs, or other types of processors that may interpret andexecute instructions. Main memory 330 may include a RAM or another typeof dynamic storage device that may store information and instructionsfor execution by processing unit 320. ROM 340 may include a ROM deviceor another type of static storage device that may store staticinformation and/or instructions for use by processing unit 320. Storagedevice 350 may include a magnetic and/or optical recording medium andits corresponding drive.

Input device 360 may include a mechanism that permits an operator toinput information to device 300, such as a keyboard, a mouse, a pen, amicrophone, voice recognition and/or biometric mechanisms, a touchscreen, etc. Output device 370 may include a mechanism that outputsinformation to the operator, including a display, a printer, a speaker,etc. Communication interface 380 may include any transceiver-likemechanism that enables device 300 to communicate with other devicesand/or systems. For example, communication interface 380 may includemechanisms for communicating with another device or system via anetwork, such as network 100.

As described herein, device 300 may perform certain operations inresponse to processing unit 320 executing software instructionscontained in a computer-readable medium, such as main memory 330. Thesoftware instructions may be read into main memory 330 from anothercomputer-readable medium, such as storage device 350, or from anotherdevice via communication interface 380. The software instructionscontained in main memory 330 may cause processing unit 320 to performprocesses described herein. Alternatively, hardwired circuitry may beused in place of or in combination with software instructions toimplement processes described herein. Thus, implementations describedherein are not limited to any specific combination of hardware circuitryand software.

Although FIG. 3 shows exemplary components of device 300, in otherimplementations, device 300 may contain fewer, different, or additionalcomponents than depicted in FIG. 3. Alternatively or additionally, oneor more components of device 300 may perform one or more other tasksdescribed as being performed by one or more other components of device300.

FIG. 4 is a diagram of exemplary interactions among components of anexemplary portion 400 of network 100. As illustrated in FIG. 4,exemplary network portion 400 may include UE 110, eNBs 120-1, 120-2, and120-N, and dynamic IP provider 130. UE 110 may include the featuresdescribed above in connection with, for example, FIG. 1. eNBs 120-1,120-2, and 120-N may include the features described above in connectionwith, for example, FIGS. 1 and 2. Dynamic IP provider 130 may includethe features described above in connection with, for example, FIGS. 1and 3.

As further shown in FIG. 4, dynamic IP provider 130 may receive IPsession roaming information 410 from eNBs 120-1, 120-2, and 120-N. IPsession roaming information 410 may include location coordinates andrelated roaming data associated with UEs connected to eNBs 120-1, 120-2,and 120-N, information associated with current IP session 140 between UE110 and eNB 120-1, etc. Dynamic IP provider 130 may select from neighboreNBs 120 (e.g., eNB 120-2 and 120-N), based on IP session roaminginformation 410, an optimal eNB 120 (e.g., eNB 120-1) to which tohandover UE 110, and may setup a preemptive IP session 420 with theoptimal eNB 120-2. For example, dynamic IP provider 130 may causehandover path 150 of current IP session 140 to be established betweeneNB 120-1 and 120-2, and may cause eNB 120-1 to initiate pre-setup 160(e.g., with UE 110) of a handover of current IP session 140 and UE 110.In an exemplary implementation, a bearer path associated with UE 110 mayremain anchored to eNB 120-1 during the handover to eNB 120-2.Alternatively or additionally, dynamic IP provider 130 may select, basedon IP session roaming information 410 and from neighbor eNBs 120 (e.g.,eNB 120-2 and 120-N), an alternate eNB (e.g., eNB 120-N, in case eNB120-2 is unavailable) to which to handover UE 110, and may setup analternate IP session 430 with the alternate eNB 120-N.

Dynamic IP provider 130 may setup requests to establish peerconnectivity between UE 110, eNB 120-1 (e.g., UE's 110 current anchoringeNB 120), and the optimal eNB 120-2, as indicated by reference number440. Once the peer connectivity setup requests have been establishedbetween UE 110, eNB 120-1, and eNB 120-2, dynamic IP provider 130 mayinstruct a handover of current IP session 140 and UE 110 from eNB 120-1to the optimal eNB 120-2, and new IP session 170 may be establishedbetween UE 110 and eNB 120-2. Dynamic IP provider 130 may obtain ahandover acknowledgement 450 and handover information 460 from eNB120-2. Handover acknowledgement 450 may include an acknowledgement thatnew IP session 170 has been established between UE 110 and eNB 120-2.Handover information 460 may include, for example, connectivity statusinformation associated with UE 110 and eNB 120-2. Dynamic IP provider130 may remove current IP session 140 from an active IP session pool,and may record information associated with eNB 120-2, as indicated byreference number 470.

Although FIG. 4 shows exemplary components of network portion 400, inother implementations, network portion 400 may contain fewer, different,differently arranged, or additional components than depicted in FIG. 4.Alternatively or additionally, one or more components of network portion400 may perform one or more other tasks described as being performed byone or more other components of network portion 400.

FIGS. 5A and 5B are diagrams of exemplary interactions among componentsof another exemplary portion 500 of network 100. As illustrated in FIGS.5A and 5B, exemplary network portion 500 may include UE 110, eNBs 120-1and 120-2, and dynamic IP provider 130. UE 110 may include the featuresdescribed above in connection with, for example, FIGS. 1 and 4. eNBs120-1 and 120-2 may include the features described above in connectionwith, for example, FIGS. 1, 2, and 4. Dynamic IP provider 130 mayinclude the features described above in connection with, for example,FIGS. 1, 3, and 4.

Exemplary network portion 500 may depict a portion of network 100 afterdynamic IP provider 130 sets up requests to establish peer connectivitybetween UE 110, eNB 120-1, and the optimal eNB 120-2, as indicated byreference number 440 (FIG. 4). As shown in FIG. 5A, once the peerconnectivity setup requests have been established between UE 110, eNB120-1, and eNB 120-2, dynamic IP provider 130 may assign a temporary IPaddress to UE 110, as indicated by reference number 510. Dynamic IPprovider 130 may instruct eNB 120-2 to setup roaming tunnels, asindicated by reference number 520. eNB 120-2 may setup a roaming tunnel530 with eNB 120-1 and may setup a roaming tunnel 540 with UE 110.Roaming tunnel 530 may enable handover path 150 of current IP session140 to be established between eNB 120-1 and 120-2. Roaming tunnel 540may eventually enable new IP session 170 to be established between UE110 and eNB 120-2.

As further shown in FIG. 5A, dynamic IP provider 130 may receivelocation information 550 from UE 110 (e.g., via eNB 120-1) when UE 110begins to transition to a coverage area associated with eNB 120-2.Location information 550 may include information associated with alocation (e.g., global positioning system (GPS) coordinates) of UE 110.In one example, dynamic IP provider 130 may continuously receivelocation information 550 from UE 110 until UE 110 is handed over fromeNB 120-1 to eNB 120-2. When UE 110 transitions over to eNB 120-2,dynamic IP provider 130 may switch the temporary IP address assigned toUE 110 to the original IP address associated with UE 110, as indicatedby reference number 560.

As shown in FIG. 5B, when UE 110 transitions over to eNB 120-2, new IPsession 170 may be established between UE 110 and eNB 120-2. New IPsession 170 may preserve current IP session 140 and the original IPaddress associated with UE 110. Dynamic IP provider 130 may instruct eNB120-2 to remove roaming tunnels 530 and 540, as indicated by referencenumber 570, and eNB 120-2 may remove roaming tunnels 530 and 540.Dynamic IP provider 130 may log events associated with the handover ofUE 110 from eNB 120-1 to eNB 120-2, as indicated by reference number580. For example, dynamic IP provider 130 may log information, such asIP session roaming information 410, location information 550, IPsessions associated with UEs, IP addresses associated with UEs, etc.

Although FIGS. 5A and 5B show exemplary components of network portion500, in other implementations, network portion 500 may contain fewer,different, differently arranged, or additional components than depictedin FIGS. 5A and 5B. Alternatively or additionally, one or morecomponents of network portion 500 may perform one or more other tasksdescribed as being performed by one or more other components of networkportion 500. In one exemplary implementation, peering and setup ofroaming tunnels 530 and 540 may be established between a particular eNB120 and two or more other eNBs 120.

FIG. 6 is a diagram of exemplary functional components of dynamic IPprovider 130. In one implementation, the functions described inconnection with FIG. 6 may be performed by one or more of the componentsof device 300 (FIG. 3). As shown in FIG. 6, dynamic IP provider 130 mayinclude an IP sessions tracker 600, an IP roaming optimization manager605, an IP sessions peering manager 610, an IP sessions handover manager615, and an IP sessions peering activity logger 620.

IP sessions tracker 600 may include hardware or a combination ofhardware and software that may receive eNB information 625 from eNBs120, and may receive UE information 630 from UEs (e.g., UE 110), viaeNBs 120. eNB information 625 may include information associated witheNBs 120, such as load information associated with eNBs 120, informationassociated with IP sessions handled by eNBs 120, a list of neighbor eNBs120 that are potential peering points for a UE (e.g., UE 110), etc. UEinformation 630 may include location coordinates and related roamingdata associated with UEs connected to eNBs 120, information associatedwith IP sessions between UEs and eNBs 120, etc. In one example, eNBinformation 625 and UE information 630 may correspond to IP sessionroaming information 410 (FIG. 4). IP sessions tracker 600 may provideeNB information 625 and UE information 630 to IP roaming optimizationmanager 605 (e.g., for further processing) and to IP sessions peeringactivity logger 620 (e.g., for storage).

IP roaming optimization manager 605 may include hardware or acombination of hardware and software that may receive eNB information625 and UE information 630 from IP sessions tracker 600, and may receiveperformance indicators 635 from IP sessions peering activity logger 620.Performance indictors 635 may include load information associated witheNBs 120, performance information associated with eNBs 120, etc. IProaming optimization manager 605 may rank eNBs 120 that are candidatesfor a handover of UE 110 (e.g., from eNB 120-1) based on eNB information625, UE information 630, and/or performance indicators 635. IP roamingoptimization manager 605 may select, from the ranked eNBs 120, anoptimal eNB 120 (e.g., eNB 120-2) to which to handover UE 110 (e.g.,from eNB 120-1). Alternatively or additionally, IP roaming optimizationmanager 605 may select, from the ranked eNBs 120, one or more other eNBs120 (e.g., as alternate eNBs 120 in case the optimal eNB 120-2malfunctions) to which to handover UE 110. IP roaming optimizationmanager 605 may provide, to IP sessions peering manager 610, information640 (e.g., load information, location information, etc.) associated withthe selected optimal eNB 120-2 and/or information 645 (e.g., loadinformation, location information, etc.) associated with the one or morealternate eNBs 120.

IP sessions peering manager 610 may include hardware or a combination ofhardware and software that may receive information 640 and/orinformation 645 from IP roaming optimization manager 605, and may setup(e.g., based on information 640/645) requests to establish peerconnectivity between UE 110, eNB 120-1 (e.g., UE's 110 current anchoringeNB 120), and the optimal eNB 120-2, as indicated by reference number440. Once the peer connectivity setup requests have been establishedbetween UE 110, eNB 120-1, and eNB 120-2, IP sessions peering manager610 may provide a temporary IP address 650 (e.g., for UE 110) andcurrent IP session information 655 to IP sessions handover manager 615(e.g., for further processing) and to IP sessions peering activitylogger 620 (e.g., for storage). Current IP session information 655 mayinclude information associated with current IP session 140 establishedbetween UE 110 and eNB 120-1.

IP sessions handover manager 615 may include hardware or a combinationof hardware and software that may receive temporary IP address 650 andcurrent IP session information 655 from IP sessions peering manager 610,and may instruct eNB 120-2 to setup roaming tunnels, as indicated byreference number 520. IP sessions handover manager 615 may receivelocation information 550 from UE 110 (e.g., via eNB 120-1) when UE 110begins to transition to a coverage area associated with eNB 120-2. WhenUE 110 transitions over to eNB 120-2, IP sessions handover manager 615may switch temporary IP address 650 to the original IP addressassociated with UE 110, as indicated by reference number 560. When UE110 transitions over to eNB 120-2, IP sessions handover manager 615 mayinstruct eNB 120-2 to remove roaming tunnels 530 and 540, as indicatedby reference number 570, and eNB 120-2 may remove roaming tunnels 530and 540. IP sessions handover manager 615 may provide updatedinformation 660 associated with the handover operation to IP sessionstracker 600 (e.g., for further processing) and to IP sessions peeringactivity logger 620 (e.g., for storage). Updated information 660 mayinclude, for example, an updated roaming IP address list that may beused for temporarily roaming UEs.

IP sessions peering activity logger 620 may include one or more storagedevices that may store information received by and/or provided todynamic IP provider 130. For example, IP sessions peering activitylogger 620 may store logged information 665, such as eNB information625, UE information 630, temporary IP address 650, current IP sessioninformation 655, updated information 660, IP sessions associated withUEs, IP addresses associated with UEs, etc. As further shown in FIG. 6,logged information 665 may be provided to IP roaming optimizationmanager 605 so that IP roaming optimization manager 605 may increaseaccuracy and reliability associated with IP session assignment for UEs.

Although FIG. 6 shows exemplary functional components of dynamic IPprovider 130, in other implementations, dynamic IP provider 130 maycontain fewer, different, differently arranged, or additional functionalcomponents than depicted in FIG. 6. In still other implementations, oneor more functional components of dynamic IP provider 130 may perform oneor more other tasks described as being performed by one or more otherfunctional components of dynamic IP provider 130.

FIG. 7 is a diagram of exemplary interactions among components of stillanother exemplary portion 700 of network 100. As shown in FIG. 7,exemplary network portion 700 may include UE 110, eNB 120-1, eNB 120-2,and dynamic IP provider 130. UE 110 may include the features describedabove in connection with, for example, FIGS. 1 and 4-5B. eNBs 120-1 and120-2 may include the features described above in connection with, forexample, FIGS. 1, 2, and 4-5B. Dynamic IP provider 130 may include thefeatures described above in connection with, for example, FIGS. 1 and3-6.

As further shown in FIG. 7, UE 110 and eNB 120-1 may setup an originalIP bearer path, as indicate by reference number 705. UE 110 may becommunicating with eNB 120-1 and may have established current IP session140 with eNB 120-1. UE 110 may roam from eNB 120-1 to another eNB (e.g.,eNB 120-2). For example, UE 110 may physically move from a location thatis closest to eNB 120-1 to a location that is closest to eNB 120-2.After moving, UE 110 may best be served by eNB 120-2 (e.g., since it isthe closest eNB 120 to UE 110) rather than by eNB 120-1. Therefore, eNB120-1 may provide, to eNB 120-2, a request 710 to handover current IPsession 140, and eNB 120-2 may provide request 710 to dynamic IPprovider 130. eNB 120-2 may accept request to handover current IPsession 140, as indicated by reference number 715, and eNB 120-1 maysend an IP address (e.g., assigned to UE 110) to dynamic IP provider130, as indicated by reference number 720.

Dynamic IP provider 130 may reassign the same IP address (e.g., assignedto UE 110), and may provide the reassigned IP address to eNB 120-2, asindicated by reference number 725. eNB 120-2 may establish a new IPsession with UE 110, as indicated by reference number 730. The new IPsession may preserve current IP session 140 and the original IP addressassociated with UE 110. An IP bearer path may be established between UE110 and eNB 120-1, as indicated by reference number 735, and eNB 120-2may inform eNB 120-1 that the new IP session has been established, asindicated by reference number 740. eNB 120-1 may release the original IPbearer path with UE 110, as indicated by reference number 745, and eNB120-2 may update an anchor point peering list associated with dynamic IPprovider 130, as indicated by reference number 750.

Although FIG. 7 shows exemplary components of network portion 700, inother implementations, network portion 700 may contain fewer, different,differently arranged, or additional components than depicted in FIG. 7.Alternatively or additionally, one or more components of network portion700 may perform one or more other tasks described as being performed byone or more other components of network portion 700.

FIGS. 8-10 are flow charts of an exemplary process 800 for permitting aUE to roam from a particular eNB to another eNB by keeping the UE'sbearer path anchored to the particular eNB and by preserving the UE's IPsession and address according to implementations described herein. Inone implementation, process 800 may be performed by dynamic IP provider130. In another implementation, some or all of process 800 may beperformed by another device or group of devices, including or excludingdynamic IP provider 130.

As shown in FIG. 8, process 800 may include receiving a current IPsession and roaming information associated with a UE, a current eNB, anda neighbor eNB(s) (block 810), selecting, based on the roaminginformation and from the neighbor eNB(s), an optimal eNB to which tohandover the UE (block 820), and setting up a preemptive IP session withthe optimal eNB (block 830). For example, in implementations describedabove in connection with FIG. 4, dynamic IP provider 130 may receive IPsession roaming information 410 from eNBs 120-1, 120-2, and 120-N. IPsession roaming information 410 may include location coordinates andrelated roaming data associated with UEs connected to eNBs 120-1, 120-2,and 120-N, information associated with current IP session 140 between UE110 and eNB 120-1, etc. Dynamic IP provider 130 may select, based on IPsession roaming information 410 and from neighbor eNBs 120 (e.g., eNB120-2 and 120-N), an optimal eNB 120 (e.g., eNB 120-1) to which tohandover UE 110, and may setup preemptive IP session 420 with theoptimal eNB 120-2. In one example, dynamic IP provider 130 may causehandover path 150 of current IP session 140 to be established betweeneNB 120-1 and 120-2, and may cause eNB 120-1 to initiate pre-setup 160(e.g., with UE 110) of a handover of current IP session 140.

As further shown in FIG. 8, process 800 may include selecting, based onthe roaming information and from the neighbor eNB(s), an alternate eNBto which to handover the UE (block 840), and setting up an alternate IPsession with the alternate eNB (block 850). For example, inimplementations described above in connection with FIG. 4, alternativelyor additionally, dynamic IP provider 130 may select, based on IP sessionroaming information 410 and from neighbor eNBs 120 (e.g., eNB 120-2 and120-N), an alternate eNB (e.g., eNB 120-N, in case eNB 120-2 isunavailable) to which to handover UE 110, and may setup alternate IPsession 430 with the alternate eNB 120-N.

Returning to FIG. 8, process 800 may include instructing a handover ofthe current IP session and the UE from the current eNB to the optimaleNB (block 860), obtaining an IP session acknowledgement andconnectivity status information from the optimal eNB (block 870), andremoving the current IP session from an active IP session pool andrecording information associated with the optimal eNB (block 880). Forexample, in implementations described above in connection with FIG. 4,once the peer connectivity setup requests have been established betweenUE 110, eNB 120-1, and eNB 120-2, dynamic IP provider 130 may instruct ahandover of current IP session 140 and UE 110 from eNB 120-1 to theoptimal eNB 120-2, and new IP session 170 may be established between UE110 and eNB 120-2. Dynamic IP provider 130 may obtain handoveracknowledgement 450 and handover information 460 from eNB 120-2.Handover acknowledgement 450 may include an acknowledgement that new IPsession 170 has been established between UE 110 and eNB 120-2. Handoverinformation 460 may include, for example, connectivity statusinformation associated with UE 110 and eNB 120-2. Dynamic IP provider130 may remove current IP session 140 from an active IP session pool,and may record information associated with eNB 120-2, as indicated byreference number 470.

Process block 860 may include the process blocks depicted in FIG. 9. Asshown in FIG. 9, process block 860 may include setting up one or morerequest to establish peering connectivity between the UE, the currenteNB, and the optimal eNB (block 900), generating a temporary IP addressfor the current IP session (block 910), setting up a roaming tunnelbetween the current eNB and the optimal eNB (block 920), and setting upa roaming tunnel between the UE and the optimal eNB (block 930). Forexample, in implementations described above in connection with FIGS. 4and 5A, dynamic IP provider 130 may setup requests to establish peerconnectivity between UE 110, eNB 120-1 (e.g., UE's 110 current anchoringeNB 120), and the optimal eNB 120-2, as indicated by reference number440. Once the peer connectivity setup requests have been establishedbetween UE 110, eNB 120-1, and eNB 120-2, dynamic IP provider 130 mayassign a temporary IP address to UE 110, as indicated by referencenumber 510. Dynamic IP provider 130 may instruct eNB 120-2 to setuproaming tunnels, as indicated by reference number 520. eNB 120-2 maysetup a roaming tunnel 530 with eNB 120-1 and may setup a roaming tunnel540 with UE 110. Roaming tunnel 530 may enable handover path 150 ofcurrent IP session 140 to be established between eNB 120-1 and 120-2.Roaming tunnel 540 may eventually enable new IP session 170 to beestablished between UE 110 and eNB 120-2.

Process block 870 may include the process blocks depicted in FIG. 10. Asshown in FIG. 10, process block 870 may include receiving location basedinformation associated with the UE (block 1000), switching the temporaryIP address to an original IP address associated with the UE (block1010), and removing the roaming tunnel between the current eNB and theoptimal eNB (block 1020). For example, in implementations describedabove in connection with FIGS. 5A and 5B, dynamic IP provider 130 mayreceive location information 550 from UE 110 (e.g., via eNB 120-1) whenUE 110 begins to transition to a coverage area associated with eNB120-2. Location information 550 may include information associated witha location (e.g., GPS coordinates) of UE 110. When UE 110 transitionsover to eNB 120-2, dynamic IP provider 130 may switch the temporary IPaddress assigned to UE 110 to the original IP address associated with UE110, as indicated by reference number 560. When UE 110 transitions overto eNB 120-2, new IP session 170 may be established between UE 110 andeNB 120-2. New IP session 170 may preserve current IP session 140 andthe original IP address associated with UE 110. Dynamic IP provider 130may instruct eNB 120-2 to remove roaming tunnels 530 and 540, asindicated by reference number 570, and eNB 120-2 may remove roamingtunnels 530 and 540.

Implementations described herein may provide systems and/or methods thatmay permit a UE to roam from a particular eNB to at least another eNB byanchoring the UE's bearer path to the particular eNB and by preservingthe UE's IP session and IP address. The systems and/or methods mayenable the anchoring eNB to inherit the anchoring functionality andintelligence of a PGW so that the anchoring eNB may act as a localizedanchor point to the UE. The systems and/or methods may permit theanchoring eNB to handle a roaming UE and to seamlessly reassign the sameIP address to the UE without losing the UE's bearer path or an originalconfiguration of the UE's IP session setup. The systems and/or methodsmay enable eNBs to keep track of IP sessions, IP addresses, and/orcorresponding roaming information associated with UEs.

The foregoing description of implementations provides illustration anddescription, but is not intended to be exhaustive or to limit theinvention to the precise form disclosed. Modifications and variationsare possible in light of the above teachings or may be acquired frompractice of the invention.

For example, while series of blocks have been described with regard toFIGS. 8-10, the order of the blocks may be modified in otherimplementations. Further, non-dependent blocks may be performed inparallel.

It will be apparent that aspects, as described herein, may beimplemented in many different forms of software, firmware, and hardwarein the implementations illustrated in the figures. The actual softwarecode or specialized control hardware used to implement embodimentsdescribed herein is not limiting of the invention. Thus, the operationand behavior of the embodiments were described without reference to thespecific software code—it being understood that software and controlhardware may be designed to implement the embodiments based on thedescription herein.

Even though particular combinations of features are recited in theclaims and/or disclosed in the specification, these combinations are notintended to limit the disclosure of the invention. In fact, many ofthese features may be combined in ways not specifically recited in theclaims and/or disclosed in the specification.

No element, act, or instruction used in the present application shouldbe construed as critical or essential to the invention unless explicitlydescribed as such. Also, as used herein, the article “a” is intended toinclude one or more items. Where only one item is intended, the term“one” or similar language is used. Further, the phrase “based on” isintended to mean “based, at least in part, on” unless explicitly statedotherwise.

1-20. (canceled)
 21. A method comprising: receiving, by a device,roaming data associated with a mobile communication device that isconnected to a first eNodeB; receiving, by the device, performanceindicators associated with a plurality of eNodeBs, the plurality ofeNodeBs including eNodeBs that are candidates for a handover; ranking,by the device, the plurality of eNodeBs based on the roaming data andthe performance indicators; selecting, by the device, a second eNodeB,from the ranked plurality of eNodeBs, for the handover; and providing,by the device, information associated with the second eNodeB.
 22. Themethod of claim 21, further comprising: selecting one or more othereNodeBs, from the ranked plurality of eNodeBs, as alternates to thesecond eNodeB; and providing information associated with the one or moreother eNodeBs.
 23. The method of claim 21, where the informationassociated with the second eNodeB includes one or more of loadinformation associated with the second eNodeB or location informationassociated with the second eNodeB.
 24. The method of claim 21, where theperformance indicators include one or more of load informationassociated with the plurality of eNodeBs or performance informationassociated with the plurality of eNodeBs.
 25. The method of claim 21,further comprising: receiving particular information associated withInternet protocol (IP) sessions handled by the plurality of eNodeBs,where ranking the plurality of eNodeBs includes: ranking the pluralityof eNodeBs based on the roaming data, the performance indicators, andthe particular information.
 26. The method of claim 21, furthercomprising: receiving additional mobile communication device informationassociated with the mobile communication device that is connected to thefirst eNodeB, where ranking the plurality of eNodeBs includes: rankingthe plurality of eNodeBs based on the roaming data, the performanceindicators, and the additional mobile communication device information.27. The method of claim 26, where the additional mobile communicationdevice information includes one or more of: location coordinatesassociated with the mobile communication device, or informationassociated with an Internet protocol (IP) session between the mobilecommunication device and the first eNodeB.
 28. A non-transitorycomputer-readable medium storing instructions, the instructionscomprising: one or more instructions that, when executed by at least oneprocessor, cause the at least one processor to: receive at least one ofperformance information associated with a plurality of eNodeBs orroaming information associated with a plurality of mobile communicationdevices that are connected to the plurality of eNodeBs; determine, basedon at least one of the performance information or the roaminginformation, a ranking for particular eNodeBs, of the plurality ofeNodeBs, that are candidates for a handover of a mobile communicationdevice of the plurality of mobile communication devices; select, fromthe particular eNodeBs and based on the ranking for the particulareNodeBs, an eNodeB to which to handover the mobile communication device;and provide information associated with the eNodeB.
 29. Thenon-transitory computer-readable medium of claim 28, where the one ormore instructions to determine the ranking for the particular eNodeBscomprise: one or more instructions that, when executed by the at leastone processor, cause the at least one processor to: receive additionalmobile communication device information associated with the plurality ofmobile communication devices that are connected to the plurality ofeNodeBs, and determine the ranking for the particular eNodeBs based onthe performance information, the roaming information, and the additionalmobile communication device information.
 30. The non-transitorycomputer-readable medium of claim 29, where the additional mobilecommunication device information includes one or more of: locationcoordinates associated with the plurality of mobile communicationdevices, or information associated with Internet protocol (IP) sessionsbetween the plurality of mobile communication devices and the pluralityof eNodeBs.
 31. The non-transitory computer-readable medium of claim 28,where the instructions further comprise: one or more instructions that,when executed by the at least one processor, cause the at least oneprocessor to: select, from the particular eNodeBs and based on theranking for the particular eNodeBs, one or more other eNodeBs asalternates to the eNodeB; and provide information associated with theone or more other eNodeBs.
 32. The non-transitory computer-readablemedium of claim 31, where a particular eNodeB, of the one or more othereNodeBs, is used for another handover of the mobile communication devicewhen the eNodeB malfunctions.
 33. The non-transitory computer-readablemedium of claim 28, where the information associated with the eNodeB isused to establish peer connectivity between the eNodeB, the mobilecommunication device, and a current eNodeB to which the mobilecommunication device is connected.
 34. A system comprising: one or moreprocessors to: receive first information associated with a plurality ofmobile communication devices that are connected to a plurality ofeNodeBs, the first information including roaming data associated withthe plurality of mobile communication devices; receive secondinformation associated with the plurality of eNodeBs, the secondinformation including load information associated with the plurality ofeNodeBs; identify particular eNodeBs, of the plurality of eNodeBs, thatare candidates for a handover of a mobile communication device of theplurality of mobile communication devices; identify an eNodeB, of theparticular eNodeBs, to which to handover the mobile communication devicebased on the first information and the second information; and provideinformation associated with the eNodeB.
 35. The system of claim 34,where the first information further includes location coordinates thatare related to the roaming data associated with the plurality of mobilecommunication devices.
 36. The system of claim 34, where the one or moreprocessors are further to: receive third information associated withInternet protocol (IP) sessions between the plurality of mobilecommunication devices and the plurality of eNodeBs, and where, whenidentifying the eNodeB, the one or more processors are to: identify theeNodeB based on the first information, the second information, and thethird information.
 37. The system of claim 34, where, when identifyingthe eNodeB, the one or more processors are to: determine a ranking forthe particular eNodeBs based on the first information and the secondinformation, and select the eNodeB, from the particular eNodeBs, basedon the ranking for the particular eNodeBs.
 38. The system of claim 34,where the one or more processors are further to: identify one or moreother eNodeBs, from the particular eNodeBs, as alternates to the eNodeB;and provide information associated with the one or more other eNodeBs.39. The system of claim 34, where the second information furtherincludes performance information associated with the plurality ofeNodeBs.
 40. The system of claim 34, where the information associatedwith the eNodeB is used to establish peer connectivity between theeNodeB, the mobile communication device, and a current eNodeB to whichthe mobile communication device is connected.